package org.swimv2.interfaces;

import java.util.List;

import javax.ejb.Remote;

import org.swimv2.entities.Skill;
import org.swimv2.entities.User;

@Remote
public interface SearchManagerRemote {
	/**
	 * 
	 * @return l'oggetto User associato all'ID fornito come parametro
	 * 
	 * */
	public User getUserById(int id);
	
	/**
	 * 
	 * @return lista degli utenti che hanno come nome o come cognome
	 * la stringa data come parametro
	 * 
	 * */
	public List<User> searchForName(String name);
	
	/**
	 * 
	 * @return lista degli utenti che possiedono la Skill fornita come
	 * parametro
	 * 
	 * */
	public List<User> searchForSkill(Skill skill);
	
	/**
	 * 
	 * @return lista degli utenti che sono amici di "user" e possiedono
	 * la Skill fornita come parametro
	 * 
	 * */
	public List<User> searchFriendsForSkill(User user, Skill skill);

}
